import 'package:wch/generated/json/base/json_convert_content.dart';
import 'package:wch/model/report_detail_entity.dart';

ReportDetailEntity $ReportDetailEntityFromJson(Map<String, dynamic> json) {
  final ReportDetailEntity reportDetailEntity = ReportDetailEntity();
  final String? code = jsonConvert.convert<String>(json['code']);
  if (code != null) {
    reportDetailEntity.code = code;
  }
  final String? msg = jsonConvert.convert<String>(json['msg']);
  if (msg != null) {
    reportDetailEntity.msg = msg;
  }
  final ReportDetailData? data = jsonConvert.convert<ReportDetailData>(
      json['data']);
  if (data != null) {
    reportDetailEntity.data = data;
  }
  return reportDetailEntity;
}

Map<String, dynamic> $ReportDetailEntityToJson(ReportDetailEntity entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['code'] = entity.code;
  data['msg'] = entity.msg;
  data['data'] = entity.data?.toJson();
  return data;
}

extension ReportDetailEntityExtension on ReportDetailEntity {
  ReportDetailEntity copyWith({
    String? code,
    String? msg,
    ReportDetailData? data,
  }) {
    return ReportDetailEntity()
      ..code = code ?? this.code
      ..msg = msg ?? this.msg
      ..data = data ?? this.data;
  }
}

ReportDetailData $ReportDetailDataFromJson(Map<String, dynamic> json) {
  final ReportDetailData reportDetailData = ReportDetailData();
  final String? id = jsonConvert.convert<String>(json['id']);
  if (id != null) {
    reportDetailData.id = id;
  }
  final String? hospitalId = jsonConvert.convert<String>(json['hospitalId']);
  if (hospitalId != null) {
    reportDetailData.hospitalId = hospitalId;
  }
  final String? doctorId = jsonConvert.convert<String>(json['doctorId']);
  if (doctorId != null) {
    reportDetailData.doctorId = doctorId;
  }
  final String? sickPersonId = jsonConvert.convert<String>(
      json['sickPersonId']);
  if (sickPersonId != null) {
    reportDetailData.sickPersonId = sickPersonId;
  }
  final String? userName = jsonConvert.convert<String>(json['userName']);
  if (userName != null) {
    reportDetailData.userName = userName;
  }
  final dynamic labelList = json['labelList'];
  if (labelList != null) {
    reportDetailData.labelList = labelList;
  }
  final String? mobile = jsonConvert.convert<String>(json['mobile']);
  if (mobile != null) {
    reportDetailData.mobile = mobile;
  }
  final String? sex = jsonConvert.convert<String>(json['sex']);
  if (sex != null) {
    reportDetailData.sex = sex;
  }
  final dynamic age = json['age'];
  if (age != null) {
    reportDetailData.age = age;
  }
  final String? hospital = jsonConvert.convert<String>(json['hospital']);
  if (hospital != null) {
    reportDetailData.hospital = hospital;
  }
  final String? department = jsonConvert.convert<String>(json['department']);
  if (department != null) {
    reportDetailData.department = department;
  }
  final String? deviceName = jsonConvert.convert<String>(json['deviceName']);
  if (deviceName != null) {
    reportDetailData.deviceName = deviceName;
  }
  final dynamic deviceId = json['deviceId'];
  if (deviceId != null) {
    reportDetailData.deviceId = deviceId;
  }
  final String? acquisitionNumber = jsonConvert.convert<String>(
      json['acquisitionNumber']);
  if (acquisitionNumber != null) {
    reportDetailData.acquisitionNumber = acquisitionNumber;
  }
  final dynamic duration = json['duration'];
  if (duration != null) {
    reportDetailData.duration = duration;
  }
  final String? status = jsonConvert.convert<String>(json['status']);
  if (status != null) {
    reportDetailData.status = status;
  }
  final String? stageStatus = jsonConvert.convert<String>(json['stageStatus']);
  if (stageStatus != null) {
    reportDetailData.stageStatus = stageStatus;
  }
  final String? stageDataStatus = jsonConvert.convert<String>(
      json['stageDataStatus']);
  if (stageDataStatus != null) {
    reportDetailData.stageDataStatus = stageDataStatus;
  }
  final String? fileUrl = jsonConvert.convert<String>(json['fileUrl']);
  if (fileUrl != null) {
    reportDetailData.fileUrl = fileUrl;
  }
  final ReportDetailDataData? data = jsonConvert.convert<ReportDetailDataData>(
      json['data']);
  if (data != null) {
    reportDetailData.data = data;
  }
  final String? startTime = jsonConvert.convert<String>(json['startTime']);
  if (startTime != null) {
    reportDetailData.startTime = startTime;
  }
  final String? finishTime = jsonConvert.convert<String>(json['finishTime']);
  if (finishTime != null) {
    reportDetailData.finishTime = finishTime;
  }
  final dynamic finishType = json['finishType'];
  if (finishType != null) {
    reportDetailData.finishType = finishType;
  }
  final String? createTime = jsonConvert.convert<String>(json['createTime']);
  if (createTime != null) {
    reportDetailData.createTime = createTime;
  }
  final String? updateTime = jsonConvert.convert<String>(json['updateTime']);
  if (updateTime != null) {
    reportDetailData.updateTime = updateTime;
  }
  return reportDetailData;
}

Map<String, dynamic> $ReportDetailDataToJson(ReportDetailData entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['id'] = entity.id;
  data['hospitalId'] = entity.hospitalId;
  data['doctorId'] = entity.doctorId;
  data['sickPersonId'] = entity.sickPersonId;
  data['userName'] = entity.userName;
  data['labelList'] = entity.labelList;
  data['mobile'] = entity.mobile;
  data['sex'] = entity.sex;
  data['age'] = entity.age;
  data['hospital'] = entity.hospital;
  data['department'] = entity.department;
  data['deviceName'] = entity.deviceName;
  data['deviceId'] = entity.deviceId;
  data['acquisitionNumber'] = entity.acquisitionNumber;
  data['duration'] = entity.duration;
  data['status'] = entity.status;
  data['stageStatus'] = entity.stageStatus;
  data['stageDataStatus'] = entity.stageDataStatus;
  data['fileUrl'] = entity.fileUrl;
  data['data'] = entity.data?.toJson();
  data['startTime'] = entity.startTime;
  data['finishTime'] = entity.finishTime;
  data['finishType'] = entity.finishType;
  data['createTime'] = entity.createTime;
  data['updateTime'] = entity.updateTime;
  return data;
}

extension ReportDetailDataExtension on ReportDetailData {
  ReportDetailData copyWith({
    String? id,
    String? hospitalId,
    String? doctorId,
    String? sickPersonId,
    String? userName,
    dynamic labelList,
    String? mobile,
    String? sex,
    dynamic age,
    String? hospital,
    String? department,
    String? deviceName,
    dynamic deviceId,
    String? acquisitionNumber,
    dynamic duration,
    String? status,
    String? stageStatus,
    String? stageDataStatus,
    String? fileUrl,
    ReportDetailDataData? data,
    String? startTime,
    String? finishTime,
    dynamic finishType,
    String? createTime,
    String? updateTime,
  }) {
    return ReportDetailData()
      ..id = id ?? this.id
      ..hospitalId = hospitalId ?? this.hospitalId
      ..doctorId = doctorId ?? this.doctorId
      ..sickPersonId = sickPersonId ?? this.sickPersonId
      ..userName = userName ?? this.userName
      ..labelList = labelList ?? this.labelList
      ..mobile = mobile ?? this.mobile
      ..sex = sex ?? this.sex
      ..age = age ?? this.age
      ..hospital = hospital ?? this.hospital
      ..department = department ?? this.department
      ..deviceName = deviceName ?? this.deviceName
      ..deviceId = deviceId ?? this.deviceId
      ..acquisitionNumber = acquisitionNumber ?? this.acquisitionNumber
      ..duration = duration ?? this.duration
      ..status = status ?? this.status
      ..stageStatus = stageStatus ?? this.stageStatus
      ..stageDataStatus = stageDataStatus ?? this.stageDataStatus
      ..fileUrl = fileUrl ?? this.fileUrl
      ..data = data ?? this.data
      ..startTime = startTime ?? this.startTime
      ..finishTime = finishTime ?? this.finishTime
      ..finishType = finishType ?? this.finishType
      ..createTime = createTime ?? this.createTime
      ..updateTime = updateTime ?? this.updateTime;
  }
}

ReportDetailDataData $ReportDetailDataDataFromJson(Map<String, dynamic> json) {
  final ReportDetailDataData reportDetailDataData = ReportDetailDataData();
  final String? id = jsonConvert.convert<String>(json['id']);
  if (id != null) {
    reportDetailDataData.id = id;
  }
  final String? saasReportId = jsonConvert.convert<String>(
      json['saasReportId']);
  if (saasReportId != null) {
    reportDetailDataData.saasReportId = saasReportId;
  }
  final String? signalQuaily = jsonConvert.convert<String>(
      json['signalQuaily']);
  if (signalQuaily != null) {
    reportDetailDataData.signalQuaily = signalQuaily;
  }
  final dynamic sleepLatency = json['sleepLatency'];
  if (sleepLatency != null) {
    reportDetailDataData.sleepLatency = sleepLatency;
  }
  final String? lightSleepLatency1 = jsonConvert.convert<String>(
      json['lightSleepLatency1']);
  if (lightSleepLatency1 != null) {
    reportDetailDataData.lightSleepLatency1 = lightSleepLatency1;
  }
  final String? lightSleepLatency2 = jsonConvert.convert<String>(
      json['lightSleepLatency2']);
  if (lightSleepLatency2 != null) {
    reportDetailDataData.lightSleepLatency2 = lightSleepLatency2;
  }
  final String? deepSleepLatency1 = jsonConvert.convert<String>(
      json['deepSleepLatency1']);
  if (deepSleepLatency1 != null) {
    reportDetailDataData.deepSleepLatency1 = deepSleepLatency1;
  }
  final String? deepSleepLatency2 = jsonConvert.convert<String>(
      json['deepSleepLatency2']);
  if (deepSleepLatency2 != null) {
    reportDetailDataData.deepSleepLatency2 = deepSleepLatency2;
  }
  final String? remBodyMovement = jsonConvert.convert<String>(
      json['remBodyMovement']);
  if (remBodyMovement != null) {
    reportDetailDataData.remBodyMovement = remBodyMovement;
  }
  final String? remBodyMovementIndex = jsonConvert.convert<String>(
      json['remBodyMovementIndex']);
  if (remBodyMovementIndex != null) {
    reportDetailDataData.remBodyMovementIndex = remBodyMovementIndex;
  }
  final String? lightBodyMovement = jsonConvert.convert<String>(
      json['lightBodyMovement']);
  if (lightBodyMovement != null) {
    reportDetailDataData.lightBodyMovement = lightBodyMovement;
  }
  final String? lightBodyMovementIndex = jsonConvert.convert<String>(
      json['lightBodyMovementIndex']);
  if (lightBodyMovementIndex != null) {
    reportDetailDataData.lightBodyMovementIndex = lightBodyMovementIndex;
  }
  final String? deepBodyMovement = jsonConvert.convert<String>(
      json['deepBodyMovement']);
  if (deepBodyMovement != null) {
    reportDetailDataData.deepBodyMovement = deepBodyMovement;
  }
  final String? deepBodyMovementIndex = jsonConvert.convert<String>(
      json['deepBodyMovementIndex']);
  if (deepBodyMovementIndex != null) {
    reportDetailDataData.deepBodyMovementIndex = deepBodyMovementIndex;
  }
  final String? totalBodyMovement = jsonConvert.convert<String>(
      json['totalBodyMovement']);
  if (totalBodyMovement != null) {
    reportDetailDataData.totalBodyMovement = totalBodyMovement;
  }
  final String? totalBodyMovementIndex = jsonConvert.convert<String>(
      json['totalBodyMovementIndex']);
  if (totalBodyMovementIndex != null) {
    reportDetailDataData.totalBodyMovementIndex = totalBodyMovementIndex;
  }
  final String? remWakeTimes = jsonConvert.convert<String>(
      json['remWakeTimes']);
  if (remWakeTimes != null) {
    reportDetailDataData.remWakeTimes = remWakeTimes;
  }
  final String? remWakeTimeIndex = jsonConvert.convert<String>(
      json['remWakeTimeIndex']);
  if (remWakeTimeIndex != null) {
    reportDetailDataData.remWakeTimeIndex = remWakeTimeIndex;
  }
  final String? lightWakeTimes = jsonConvert.convert<String>(
      json['lightWakeTimes']);
  if (lightWakeTimes != null) {
    reportDetailDataData.lightWakeTimes = lightWakeTimes;
  }
  final String? lightWakeTimeIndex = jsonConvert.convert<String>(
      json['lightWakeTimeIndex']);
  if (lightWakeTimeIndex != null) {
    reportDetailDataData.lightWakeTimeIndex = lightWakeTimeIndex;
  }
  final String? deepWakeTimes = jsonConvert.convert<String>(
      json['deepWakeTimes']);
  if (deepWakeTimes != null) {
    reportDetailDataData.deepWakeTimes = deepWakeTimes;
  }
  final String? deepWakeTimeIndex = jsonConvert.convert<String>(
      json['deepWakeTimeIndex']);
  if (deepWakeTimeIndex != null) {
    reportDetailDataData.deepWakeTimeIndex = deepWakeTimeIndex;
  }
  final String? totalWakeTimes = jsonConvert.convert<String>(
      json['totalWakeTimes']);
  if (totalWakeTimes != null) {
    reportDetailDataData.totalWakeTimes = totalWakeTimes;
  }
  final String? totalWakeTimeIndex = jsonConvert.convert<String>(
      json['totalWakeTimeIndex']);
  if (totalWakeTimeIndex != null) {
    reportDetailDataData.totalWakeTimeIndex = totalWakeTimeIndex;
  }
  final String? timeInBed = jsonConvert.convert<String>(json['timeInBed']);
  if (timeInBed != null) {
    reportDetailDataData.timeInBed = timeInBed;
  }
  final String? sleepPeriodTime = jsonConvert.convert<String>(
      json['sleepPeriodTime']);
  if (sleepPeriodTime != null) {
    reportDetailDataData.sleepPeriodTime = sleepPeriodTime;
  }
  final String? totalSleepTime = jsonConvert.convert<String>(
      json['totalSleepTime']);
  if (totalSleepTime != null) {
    reportDetailDataData.totalSleepTime = totalSleepTime;
  }
  final String? sleepEnffiency = jsonConvert.convert<String>(
      json['sleepEnffiency']);
  if (sleepEnffiency != null) {
    reportDetailDataData.sleepEnffiency = sleepEnffiency;
  }
  final String? remSleepDuration = jsonConvert.convert<String>(
      json['remSleepDuration']);
  if (remSleepDuration != null) {
    reportDetailDataData.remSleepDuration = remSleepDuration;
  }
  final String? lightSleepDuration = jsonConvert.convert<String>(
      json['lightSleepDuration']);
  if (lightSleepDuration != null) {
    reportDetailDataData.lightSleepDuration = lightSleepDuration;
  }
  final String? nremSleepDuration = jsonConvert.convert<String>(
      json['nremSleepDuration']);
  if (nremSleepDuration != null) {
    reportDetailDataData.nremSleepDuration = nremSleepDuration;
  }
  final String? deepSleepDuration = jsonConvert.convert<String>(
      json['deepSleepDuration']);
  if (deepSleepDuration != null) {
    reportDetailDataData.deepSleepDuration = deepSleepDuration;
  }
  final String? wakeDurationTIB = jsonConvert.convert<String>(
      json['wakeDurationTIB']);
  if (wakeDurationTIB != null) {
    reportDetailDataData.wakeDurationTIB = wakeDurationTIB;
  }
  final String? wakePercentageTIB = jsonConvert.convert<String>(
      json['wakePercentageTIB']);
  if (wakePercentageTIB != null) {
    reportDetailDataData.wakePercentageTIB = wakePercentageTIB;
  }
  final String? remPercentageTIB = jsonConvert.convert<String>(
      json['remPercentageTIB']);
  if (remPercentageTIB != null) {
    reportDetailDataData.remPercentageTIB = remPercentageTIB;
  }
  final String? lightPercentageTIB = jsonConvert.convert<String>(
      json['lightPercentageTIB']);
  if (lightPercentageTIB != null) {
    reportDetailDataData.lightPercentageTIB = lightPercentageTIB;
  }
  final String? deepPercentageTIB = jsonConvert.convert<String>(
      json['deepPercentageTIB']);
  if (deepPercentageTIB != null) {
    reportDetailDataData.deepPercentageTIB = deepPercentageTIB;
  }
  final String? wakeDurationSPT = jsonConvert.convert<String>(
      json['wakeDurationSPT']);
  if (wakeDurationSPT != null) {
    reportDetailDataData.wakeDurationSPT = wakeDurationSPT;
  }
  final String? wakePercentageSPT = jsonConvert.convert<String>(
      json['wakePercentageSPT']);
  if (wakePercentageSPT != null) {
    reportDetailDataData.wakePercentageSPT = wakePercentageSPT;
  }
  final String? remPercentageSPT = jsonConvert.convert<String>(
      json['remPercentageSPT']);
  if (remPercentageSPT != null) {
    reportDetailDataData.remPercentageSPT = remPercentageSPT;
  }
  final String? lightPercentageSPT = jsonConvert.convert<String>(
      json['lightPercentageSPT']);
  if (lightPercentageSPT != null) {
    reportDetailDataData.lightPercentageSPT = lightPercentageSPT;
  }
  final String? deepPercentageSPT = jsonConvert.convert<String>(
      json['deepPercentageSPT']);
  if (deepPercentageSPT != null) {
    reportDetailDataData.deepPercentageSPT = deepPercentageSPT;
  }
  final String? remPercentageTST = jsonConvert.convert<String>(
      json['remPercentageTST']);
  if (remPercentageTST != null) {
    reportDetailDataData.remPercentageTST = remPercentageTST;
  }
  final String? lightPercentageTST = jsonConvert.convert<String>(
      json['lightPercentageTST']);
  if (lightPercentageTST != null) {
    reportDetailDataData.lightPercentageTST = lightPercentageTST;
  }
  final String? deepPercentageTST = jsonConvert.convert<String>(
      json['deepPercentageTST']);
  if (deepPercentageTST != null) {
    reportDetailDataData.deepPercentageTST = deepPercentageTST;
  }
  final String? microArousalTimes = jsonConvert.convert<String>(
      json['microArousalTimes']);
  if (microArousalTimes != null) {
    reportDetailDataData.microArousalTimes = microArousalTimes;
  }
  final String? microArousalIndex = jsonConvert.convert<String>(
      json['microArousalIndex']);
  if (microArousalIndex != null) {
    reportDetailDataData.microArousalIndex = microArousalIndex;
  }
  final List<String>? sleepStage = (json['sleepStage'] as List<dynamic>?)?.map(
          (e) => jsonConvert.convert<String>(e) as String).toList();
  if (sleepStage != null) {
    reportDetailDataData.sleepStage = sleepStage;
  }
  final String? recordStart = jsonConvert.convert<String>(json['recordStart']);
  if (recordStart != null) {
    reportDetailDataData.recordStart = recordStart;
  }
  final String? recordEnd = jsonConvert.convert<String>(json['recordEnd']);
  if (recordEnd != null) {
    reportDetailDataData.recordEnd = recordEnd;
  }
  final List<String>? bodyPosition = (json['bodyPosition'] as List<dynamic>?)
      ?.map(
          (e) => jsonConvert.convert<String>(e) as String)
      .toList();
  if (bodyPosition != null) {
    reportDetailDataData.bodyPosition = bodyPosition;
  }
  final List<String>? bodyMovement = (json['bodyMovement'] as List<dynamic>?)
      ?.map(
          (e) => jsonConvert.convert<String>(e) as String)
      .toList();
  if (bodyMovement != null) {
    reportDetailDataData.bodyMovement = bodyMovement;
  }
  final dynamic eventList = json['eventList'];
  if (eventList != null) {
    reportDetailDataData.eventList = eventList;
  }
  return reportDetailDataData;
}

Map<String, dynamic> $ReportDetailDataDataToJson(ReportDetailDataData entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['id'] = entity.id;
  data['saasReportId'] = entity.saasReportId;
  data['signalQuaily'] = entity.signalQuaily;
  data['sleepLatency'] = entity.sleepLatency;
  data['lightSleepLatency1'] = entity.lightSleepLatency1;
  data['lightSleepLatency2'] = entity.lightSleepLatency2;
  data['deepSleepLatency1'] = entity.deepSleepLatency1;
  data['deepSleepLatency2'] = entity.deepSleepLatency2;
  data['remBodyMovement'] = entity.remBodyMovement;
  data['remBodyMovementIndex'] = entity.remBodyMovementIndex;
  data['lightBodyMovement'] = entity.lightBodyMovement;
  data['lightBodyMovementIndex'] = entity.lightBodyMovementIndex;
  data['deepBodyMovement'] = entity.deepBodyMovement;
  data['deepBodyMovementIndex'] = entity.deepBodyMovementIndex;
  data['totalBodyMovement'] = entity.totalBodyMovement;
  data['totalBodyMovementIndex'] = entity.totalBodyMovementIndex;
  data['remWakeTimes'] = entity.remWakeTimes;
  data['remWakeTimeIndex'] = entity.remWakeTimeIndex;
  data['lightWakeTimes'] = entity.lightWakeTimes;
  data['lightWakeTimeIndex'] = entity.lightWakeTimeIndex;
  data['deepWakeTimes'] = entity.deepWakeTimes;
  data['deepWakeTimeIndex'] = entity.deepWakeTimeIndex;
  data['totalWakeTimes'] = entity.totalWakeTimes;
  data['totalWakeTimeIndex'] = entity.totalWakeTimeIndex;
  data['timeInBed'] = entity.timeInBed;
  data['sleepPeriodTime'] = entity.sleepPeriodTime;
  data['totalSleepTime'] = entity.totalSleepTime;
  data['sleepEnffiency'] = entity.sleepEnffiency;
  data['remSleepDuration'] = entity.remSleepDuration;
  data['lightSleepDuration'] = entity.lightSleepDuration;
  data['nremSleepDuration'] = entity.nremSleepDuration;
  data['deepSleepDuration'] = entity.deepSleepDuration;
  data['wakeDurationTIB'] = entity.wakeDurationTIB;
  data['wakePercentageTIB'] = entity.wakePercentageTIB;
  data['remPercentageTIB'] = entity.remPercentageTIB;
  data['lightPercentageTIB'] = entity.lightPercentageTIB;
  data['deepPercentageTIB'] = entity.deepPercentageTIB;
  data['wakeDurationSPT'] = entity.wakeDurationSPT;
  data['wakePercentageSPT'] = entity.wakePercentageSPT;
  data['remPercentageSPT'] = entity.remPercentageSPT;
  data['lightPercentageSPT'] = entity.lightPercentageSPT;
  data['deepPercentageSPT'] = entity.deepPercentageSPT;
  data['remPercentageTST'] = entity.remPercentageTST;
  data['lightPercentageTST'] = entity.lightPercentageTST;
  data['deepPercentageTST'] = entity.deepPercentageTST;
  data['microArousalTimes'] = entity.microArousalTimes;
  data['microArousalIndex'] = entity.microArousalIndex;
  data['sleepStage'] = entity.sleepStage;
  data['recordStart'] = entity.recordStart;
  data['recordEnd'] = entity.recordEnd;
  data['bodyPosition'] = entity.bodyPosition;
  data['bodyMovement'] = entity.bodyMovement;
  data['eventList'] = entity.eventList;
  return data;
}

extension ReportDetailDataDataExtension on ReportDetailDataData {
  ReportDetailDataData copyWith({
    String? id,
    String? saasReportId,
    String? signalQuaily,
    dynamic sleepLatency,
    String? lightSleepLatency1,
    String? lightSleepLatency2,
    String? deepSleepLatency1,
    String? deepSleepLatency2,
    String? remBodyMovement,
    String? remBodyMovementIndex,
    String? lightBodyMovement,
    String? lightBodyMovementIndex,
    String? deepBodyMovement,
    String? deepBodyMovementIndex,
    String? totalBodyMovement,
    String? totalBodyMovementIndex,
    String? remWakeTimes,
    String? remWakeTimeIndex,
    String? lightWakeTimes,
    String? lightWakeTimeIndex,
    String? deepWakeTimes,
    String? deepWakeTimeIndex,
    String? totalWakeTimes,
    String? totalWakeTimeIndex,
    String? timeInBed,
    String? sleepPeriodTime,
    String? totalSleepTime,
    String? sleepEnffiency,
    String? remSleepDuration,
    String? lightSleepDuration,
    String? nremSleepDuration,
    String? deepSleepDuration,
    String? wakeDurationTIB,
    String? wakePercentageTIB,
    String? remPercentageTIB,
    String? lightPercentageTIB,
    String? deepPercentageTIB,
    String? wakeDurationSPT,
    String? wakePercentageSPT,
    String? remPercentageSPT,
    String? lightPercentageSPT,
    String? deepPercentageSPT,
    String? remPercentageTST,
    String? lightPercentageTST,
    String? deepPercentageTST,
    String? microArousalTimes,
    String? microArousalIndex,
    List<String>? sleepStage,
    String? recordStart,
    String? recordEnd,
    List<String>? bodyPosition,
    List<String>? bodyMovement,
    dynamic eventList,
  }) {
    return ReportDetailDataData()
      ..id = id ?? this.id
      ..saasReportId = saasReportId ?? this.saasReportId
      ..signalQuaily = signalQuaily ?? this.signalQuaily
      ..sleepLatency = sleepLatency ?? this.sleepLatency
      ..lightSleepLatency1 = lightSleepLatency1 ?? this.lightSleepLatency1
      ..lightSleepLatency2 = lightSleepLatency2 ?? this.lightSleepLatency2
      ..deepSleepLatency1 = deepSleepLatency1 ?? this.deepSleepLatency1
      ..deepSleepLatency2 = deepSleepLatency2 ?? this.deepSleepLatency2
      ..remBodyMovement = remBodyMovement ?? this.remBodyMovement
      ..remBodyMovementIndex = remBodyMovementIndex ?? this.remBodyMovementIndex
      ..lightBodyMovement = lightBodyMovement ?? this.lightBodyMovement
      ..lightBodyMovementIndex = lightBodyMovementIndex ??
          this.lightBodyMovementIndex
      ..deepBodyMovement = deepBodyMovement ?? this.deepBodyMovement
      ..deepBodyMovementIndex = deepBodyMovementIndex ??
          this.deepBodyMovementIndex
      ..totalBodyMovement = totalBodyMovement ?? this.totalBodyMovement
      ..totalBodyMovementIndex = totalBodyMovementIndex ??
          this.totalBodyMovementIndex
      ..remWakeTimes = remWakeTimes ?? this.remWakeTimes
      ..remWakeTimeIndex = remWakeTimeIndex ?? this.remWakeTimeIndex
      ..lightWakeTimes = lightWakeTimes ?? this.lightWakeTimes
      ..lightWakeTimeIndex = lightWakeTimeIndex ?? this.lightWakeTimeIndex
      ..deepWakeTimes = deepWakeTimes ?? this.deepWakeTimes
      ..deepWakeTimeIndex = deepWakeTimeIndex ?? this.deepWakeTimeIndex
      ..totalWakeTimes = totalWakeTimes ?? this.totalWakeTimes
      ..totalWakeTimeIndex = totalWakeTimeIndex ?? this.totalWakeTimeIndex
      ..timeInBed = timeInBed ?? this.timeInBed
      ..sleepPeriodTime = sleepPeriodTime ?? this.sleepPeriodTime
      ..totalSleepTime = totalSleepTime ?? this.totalSleepTime
      ..sleepEnffiency = sleepEnffiency ?? this.sleepEnffiency
      ..remSleepDuration = remSleepDuration ?? this.remSleepDuration
      ..lightSleepDuration = lightSleepDuration ?? this.lightSleepDuration
      ..nremSleepDuration = nremSleepDuration ?? this.nremSleepDuration
      ..deepSleepDuration = deepSleepDuration ?? this.deepSleepDuration
      ..wakeDurationTIB = wakeDurationTIB ?? this.wakeDurationTIB
      ..wakePercentageTIB = wakePercentageTIB ?? this.wakePercentageTIB
      ..remPercentageTIB = remPercentageTIB ?? this.remPercentageTIB
      ..lightPercentageTIB = lightPercentageTIB ?? this.lightPercentageTIB
      ..deepPercentageTIB = deepPercentageTIB ?? this.deepPercentageTIB
      ..wakeDurationSPT = wakeDurationSPT ?? this.wakeDurationSPT
      ..wakePercentageSPT = wakePercentageSPT ?? this.wakePercentageSPT
      ..remPercentageSPT = remPercentageSPT ?? this.remPercentageSPT
      ..lightPercentageSPT = lightPercentageSPT ?? this.lightPercentageSPT
      ..deepPercentageSPT = deepPercentageSPT ?? this.deepPercentageSPT
      ..remPercentageTST = remPercentageTST ?? this.remPercentageTST
      ..lightPercentageTST = lightPercentageTST ?? this.lightPercentageTST
      ..deepPercentageTST = deepPercentageTST ?? this.deepPercentageTST
      ..microArousalTimes = microArousalTimes ?? this.microArousalTimes
      ..microArousalIndex = microArousalIndex ?? this.microArousalIndex
      ..sleepStage = sleepStage ?? this.sleepStage
      ..recordStart = recordStart ?? this.recordStart
      ..recordEnd = recordEnd ?? this.recordEnd
      ..bodyPosition = bodyPosition ?? this.bodyPosition
      ..bodyMovement = bodyMovement ?? this.bodyMovement
      ..eventList = eventList ?? this.eventList;
  }
}